var responseMessage = function () { var source = $("#response-entry-template").html(); var compiled = dust.compile(source, "entry-template"); dust.loadSource(compiled); this.renderResponse = function(e, model) { var data = { response_username: model.userName, response_createdon: model.datetime, response_message: model.message, response_rating: model.rating}; if (model.rating !== undefined) { if (model.rating == 1) { data.response_url = '/images/starIcon2.png' } if (model.rating == 0) { data.response_url = '/images/poopIcon2.png' } } dust.render("entry-template", data, function(err, out) { e.prepend(out); }); }; this.checkSubmit = function (form) { try{ $(".activeForm")[0].classList.remove("activeForm"); }catch(err){} var message = form.message.value; var count = 156 - message.length; if(count < 0 && count == 156) { throw "Too long!"; } var data = { "reviewId": form.reviewId.value, "message": message }; if (form.rating){ if(form.rating[0].checked){ data["rating"] = 1 }else if(form.rating[1].checked){ data["rating"] = 0 } } form[0].classList.add("activeForm"); return data; }; this.loadResponse = function (e, callback) { try{ var url = '/ebjson/create_response_review'; var form = e.form; var formData = this.checkSubmit(form); var obj = JSON.stringify(formData); var self = this; $.ajax({ type: "POST", url: url, data: obj, dataType: "json", contentType: "application/json; charset=UTF-8", success: function (data) { if (data.res == 0) { callback(data, e); } self.renderResponse($("#responses-"+formData["reviewId"]), data.data); // rjyntqyt callback(data, e); } }); } catch(err){ console.log(err); } }; };